我想了解以下部分:
l (ell)
用于指定后续的
d
,i
,o
,u
,x
,或X
转换说明适用于一个long
或unsigned long
参数; 以下n
转换说明符适用于指向long
参数的指针; 以下c
转换说明符适用于wint_t
参数; 以下s
转换说明符适用于指向wchar_t
参数的指针; 或具有在下文中没有任何影响a
,A
,e
,E
,f
,F
,g
,或G
转换说明.
我还可以看到这与cppreference一致:fprintf在哪里"%f"
和"%lf"
等同于printf()
家庭.
那么,这个答案错误?或是否C99
清楚,现在"%f"
是float
,虽然"%lf"
是double
针对printf()
家庭功能?
文档是正确的:printf
看到float
和之间没有区别double
.
该printf
族的函数参数通过可变长度机制获得.在可变长度参数列表的可变长度部分中,"默认参数促销"适用:类型char
并short int
被提升为int
,并float
被提升为double
.